package troisdimension.client;

import java.util.ArrayList;

import com.google.gwt.canvas.dom.client.Context2d;

public class Ligne extends Forme {
	protected ArrayList<Point> listePt = null;
	protected int epaisseur =  1;

	public Ligne(String id,ArrayList<Point> points, String couleur,PointCentral ptC) {
		this(id,points,couleur);
		this.setPtCentral(ptC);
	}
	
	public Ligne(String id,ArrayList<Point> points, String couleur) {
		this(id,points);
		this.setCouleur(couleur);
	}

	
	public Ligne(String id, ArrayList<Point> points) {
	    super.setId(id);	
		this.setListePt(points);	
	}

	public void dessiner(Context2d ctx){
		this.getTransforme().transformer(this.getPtCentral());
		Point pt1 = this.getListePt().get(0);
		Point pt2 = this.getListePt().get(1);
		ctx.setLineWidth(1);
		ctx.beginPath();
		ctx.setStrokeStyle(this.getCouleur());
		ctx.moveTo(pt1.getX2d(), pt1.getY2d());
		ctx.lineTo(pt2.getX2d(), pt2.getY2d());
		ctx.stroke();
		ctx.closePath();
		ctx.save();
	}
	
	public ArrayList<Point> getListePt() {
		return listePt;
	}

	public void setListePt(ArrayList<Point> listePt) {
		this.listePt = listePt;
	}

	public int getEpaisseur() {
		return epaisseur;
	}

	public void setEpaisseur(int epaisseur) {
		this.epaisseur = epaisseur;
	}
	
	public void apparence(Context2d ctx, boolean isMove){
		Point pt1 = this.getListePt().get(0);
		Point pt2 = this.getListePt().get(1);
		if(isMove){
			ctx.moveTo(pt1.getX2d(), pt1.getY2d());
			ctx.lineTo(pt2.getX2d(), pt2.getY2d());			
		} else {
			ctx.lineTo(pt2.getX2d(), pt2.getY2d());
		}

	}

}
